{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "from ggplot import *\n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>w</th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-0.810393</td>\n",
       "      <td>-1.020157</td>\n",
       "      <td>-0.569955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.883547</td>\n",
       "      <td>-1.155482</td>\n",
       "      <td>0.052136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.450729</td>\n",
       "      <td>-0.740759</td>\n",
       "      <td>0.468624</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.198120</td>\n",
       "      <td>-0.382605</td>\n",
       "      <td>0.299596</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-0.959025</td>\n",
       "      <td>0.574729</td>\n",
       "      <td>0.494365</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          w         x         y\n",
       "0 -0.810393 -1.020157 -0.569955\n",
       "1 -0.883547 -1.155482  0.052136\n",
       "2  0.450729 -0.740759  0.468624\n",
       "3  0.198120 -0.382605  0.299596\n",
       "4 -0.959025  0.574729  0.494365"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(dict(\n",
    "    x=np.random.normal(0, 1, 1000),\n",
    "    y=np.random.normal(0, 1, 1000),\n",
    "    w=np.random.uniform(-1, 1, 1000)\n",
    "))\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nuJ7leV5SNjMzuQ8y/bPkcR2T8r2e5XFm/fZH5vl6xTNWKpU0NTWlIAiybmWecrlsPIC1y/M8DQ8P\na2ZmJnfzkpjZcprNJY/zkszNLI2rkSw3syzfKPKynjWTx/Usz/OS8jmzbqzGwYQ8zivP61keZ9Zr\nlxdeCaeRAAAAAIYQtgEAAABDCNsAAACAIYRtAAAAwBDCNgAAAGAIYRsAAAAwhLANAAAAGMJ1toGc\n8X1f4+PjxmoXCgUjtU2I43j2XxrXxk7TUv30280YsPaY2gf12v4HSAthG8gZk29GvfxGl2bYtiwr\nlTtIEqzRj1baT3iep9HRUU1MTLR1g5Ze3v8A3eA0EgAAAMAQwjYAAABgCGEbAAAAMISwDQAAABhC\n2AYAAAAMIWwDAAAAhhC2AQAAAEMI2wAAAIAhhG0AAADAEMI2AAAAYAhhGwAAADCEsA0AAAAY4mbd\ngGmHDh3St7/9bSVJoosuukiXXHJJ1i31tCRJJElxHM/+azzWjUYdy7K6riVJYRgqiiJJkmVZsu30\nP1cGQTD7PVoRRZFmZmZUq9UUBMGSy9m2Lc/z0mixqbRmvBoqlYoOHz6cel3f91UsFlOvCwDAQn0d\ntuM41r/+67/q+uuv1/r163X77bdry5YtGh0dzbq1nrYwXOcxbDc+CEgyErSlE+G5Vqu1tXy9Xl8x\nbBeLRbmumU2zl4K2JBUKBe3cuTP1ut/61rdSrwkAQDN9HbZ/85vfaMOGDRoeHpYknX/++Xr66acJ\n20CPsCwrlQ9zzeoCALAa+vqc7ampKQ0NDc3+99DQkCYnJzPsCAAAAGtJy0e2P/axj+n666/XG97w\nBpP9rJrJyUlNT0/Pe2xwcNDYr++74TiO0XN429E4NaMxp7TmZdu24jhO7Yij4zizvdm2beR1jaKo\nrXO2HceZ979L8TzP6Ovd7LSaPK1jcy13uk23uv158zqztLfNNOVxZnmel8TM2pXHeUnMrF15nFM3\nWv5poijSO97xDo2Ojup973uf3vve9+r000832VvX1q9fr+PHj8/+9+Tk5OyR7oMHD+rAgQPzlt+2\nbZu2b9++qj32mkbYbhgZGUmlbhAESpLEyPnVlmUZ2ZHMzMyoXq+3/bzGaU1L8TxPAwMDnba1IlPn\nsJtg4o8jG/r9dLK0ts21gnm1j5m1j5mtTS2H7S996Uv6u7/7Oz300EO666679NnPflZvetObdN11\n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\n0vDw8KIrkQwNDWloaGjR8/J4K1XXdXPXU0MYhrnsjZk1/75L7eRd1+34DSAMQ0VRZOTIcyP4mAja\n3dZc7tQWE0de4zhua71pZT2LokhxHBuZbxRFi75/GtvlcutxGnXTXo9Nh+0s93N53P/ned8vMbO1\nqm/D9nve856sWwAAAMAa17eX/gMAAACyZiW9dCLkKsjjaSTlclnVajXrNubxPE+jo6O5nJc0f2Ym\nV/F2fuXc6sxM9bvc6R7dnrMtnfiL9rTZtm3k1/BhGBqpOzU1pXq9nvqpCOvWrWu537nfe6V1aWZm\nRpVKxcgpQAMDA4ses22761NskiRJ9Rxzz/M0NDSkl156SXEcp/4Hko7jpH4eeEMQBEb+GNf3fSM9\nm6o7Vx7fL6V8v2fmcWaNefWLvj2NBJjLRIA1eXUMU/26rtu070Kh0PEfnVmWpTiOjfyRneu62r17\nd+p19+7d23W/zd6gyuWyPvrRj3ZVt5kvf/nLev/739/yOtdqqP2bv/kbffGLXzSyLn/605/W5z//\n+Y76Ws5HP/rRVLePMAxVLpdVr9flum7q63G9Xle1Wu34D4hLpZJqtVrTr5m6XFuhUNDY2FjqdcfH\nx1OvCfQCTiMBAAAADCFsAwAAAIYQtgEAAABDCNsAAACAIYRtAAAAwBDCNgAAAGAIYRsAAAAwhLAN\nAAAAGELYBgAAAAwhbAMAAACGELYBAAAAQwjbAAAAgCGEbQAAAMAQK0mSJOsm8mRiYkJBEGTdxjzl\nclnVajXrNubxPE+jo6O5nJc0f2YmV3HLslpettWZmerX9315npd63TiO5fu+isVi6rXDMDTS88zM\nTFuvXTPFYlH1en3eY5ZlybbTP4aRJIkcx2l5ecuyWlqParWasfUtSRLFcdxRX8spFApdPX8pjuO0\nNeNWRVGkIAhUKpU6en6pVFKtVmv6Ndd1jaxvQRAYmbPv+8Zev4Y8vl9K+X7PzOPMGvPqF27WDQCm\ndRuqVpupfovFosbGxozUHh8fN1K3UCho06ZNRt6gpqamunp+EASLQlDjw8Hg4GBXtReq1WotBxXX\ndbVhwwa99NJLCsNw2WV939edd94p103/reDKK69c9Abe7ANKu8477zzt2rWrqxrN7N27V7t37069\nriTt27ev41BcKpWW/IBi6oPSSh9wOw2OpoM2kFecRgIAAAAYQtgGAAAADCFsAwAAAIYQtgEAAABD\nCNsAAACAIYRtAAAAwBAu/TdHrVaT53lGLoPVDdu2VS6Xs25jHsuyVKlUcjkviZk1Y/o6qibmnSSJ\nkZn5vt/xdY8bbNteVCMIAnme13XthZIkkWVZLV3L3LIsVavVlmYWhqGx60s367fVn6HfWJbV8fax\n3L4sjmMjlwpNkmTZSxVmvS9bTh73/RIza1evXbJ3Jfl6xTNWKpU0NTXFBedb4HmehoeHNTMzk7t5\nScwsCybm7TiORkZGUp+Z7/tL3iikVc1uNhKGoeI4Tv1GPPV6Xb7vt3RdZdd1NTQ0pEqlsuJ1tuM4\nVhRFxgLbwmtqp3Gd7V6UJEnH28dy+7KsbtiV531ZHvf9EjNrl4mbmWWJ00gAAAAAQwjbAAAAgCGE\nbQAAAMAQwjYAAABgCGEbAAAAMISrkQBrhO/7Gh8fN1a7UCikXjdJEoVhOHuVjzQNDAx09XzLshbV\nsG3b2CWr4jhuaQZxHKtarba0fLlc1o033phWi/NEUbToahmO43Q9H9/3tW/fvq5qLGRZlpG60onL\nQU5NTXW8fcRxvOQVXGzbNrLdBUFgpK5k7goq/XapOPQXwjawRiz35tntpZ9MvTFLJwKFbduKoii1\nmuvWrdNVV12VWr2Ge+65R+9973tTr/vKV75SH/nIR1a8lJ904tJ/pVKppUv/nXHGGdq1a1dabc5z\n22236emnn573WKFQkO/7XdUtlUoaHR3tqsZcnudp48aNOnLkiMIwXPb60p2I43j2A2Onz1/qMpUb\nNmzQ2NhYN+01ZepDuclLFTauRQ/kEaeRAAAAAIYQtgEAAABDCNsAAACAIYRtAAAAwBDCNgAAAGAI\nYRsAAAAwhLANAAAAGELYBgAAAAwhbAMAAACGELYBAAAAQwjbAAAAgCGEbQAAAMAQwjYAAABgiJt1\nAwCwFMuymv7/bgVBoPvvv7+rGpZlKUmSeY+FYah77723q7rN1Ot11Wo1ue7Ku2zP83TSSSdJOvFz\nLsf3fe3bty+VHheamprShRdeOO8x13UVhmFXdcvlcqrrgvR/61badaUTP/O6des6fn6xWJRtNz8u\nVq/XNT4+3nHtpfi+r0KhkHrdZttMmrWBvOr7sP3YY4/pkUce0Sc/+cmudngAVp9t23IcR47jKI7j\n1OoWi8Wua5TLZVWr1XmPOY7Tdd1mXNfVwMBAS8t6nqfR0VFJK4dtkxqBf65mM8taY/1Kex1r8DxP\nnud1/Pxyubxk2DbFRNBuIBRjLerr00iOHz+uX/ziFxoeHs66FQAAAKxBfR22H374Yb397W/Pug0A\nAACsUX0btp966ikNDQ3plFNOyboVAAAArFE9fc72HXfcoenp6UWPX3rppfr3f/93XXfddUs+d3Jy\nctFzBwcHW/oDpNXmOE5X5/yZ0JhTHuclMbN25XFeEjPrBDNrT57nJTGzduVxXhIza1ce59QNKzH1\np8EZevHFF3XHHXfMrjyTk5Nav369brrpJg0ODkqSvve97+nAgQPznnfmmWdq9+7dGhoaWvWee83k\n5KQOHjyorVu3Mq8WMbP2MbP2MbP2MK/2MbP2MbP29Nu8+uujw//vlFNO0V/91V/N/vf/+3//Tx/8\n4AdVLpdnH9u6dau2bNky+98TExPav3+/pqen++KFNW16eloHDhzQli1bmFeLmFn7mFn7mFl7mFf7\nmFn7mFl7+m1efRm2m1l4AH9oaKgvXkAAAADk15oI2x/96EezbgEAAABrUN9ejQQAAADImvPpT3/6\n01k3kQdJkqhQKOiss85K5e5y/Y55tY+ZtY+ZtY+ZtYd5tY+ZtY+Ztaff5tWXVyPpFrd4b913v/td\nPf3007IsSwMDA9q5c6fWr1+fdVu59sgjj+iZZ56R4zg6+eST9e53v1ulUinrtnLtySef1Pe//30d\nOXJEN910k17xildk3VIuHTp0SN/+9reVJIkuuugiXXLJJVm3lGsPPvignnnmGQ0MDOjDH/5w1u30\nhOPHj2v//v2amZmRZVm66KKLdPHFF2fdVm6FYahvfvObiqJIcRzrta99rd761rdm3VZPiONYt99+\nu4aGhnTNNddk3U5XOLK9wPHjx/WjH/1ISZJo69atubv2ZN684hWv0MUXX6w/+IM/UK1W03//93/r\nvPPOy7qt3Hv729+uN77xjfrtb3+rX//61zr77LOzbinXbNvWBRdcoBdffFHnnHMOH+iaiONYd911\nl6677jpdcskleuihh3TWWWdpYGAg69Zyq1wu68ILL9RTTz2lP/zDP8y6nZ4QBIHOOOMMXXrppXrd\n616nf/mXf9HZZ5/NeraExr7rTW96k7Zu3apHH31Up5xyChdoaMGPfvQjxXGsKIp0wQUXZN1OVzhn\newFu8d6eub/e8X1flmVl2E1vOOecc2TbJza9008/XZOTkxl3lH8bN27Uhg0bsm4j137zm99ow4YN\nGh4eluM4Ov/88/X0009n3VaunXnmmfMuCYuVrV+/XqeddpqkE/v/jRs3ampqKuOu8q1QKEg6cZQ7\njiXjtUsAAASOSURBVGPeJ1tw/PhxHTp0SBdddFHWraRiTVyNpFXc4r0z3/nOd/TjH/9YpVJJN9xw\nQ9bt9JQnnnhC559/ftZtoA9MTU3NO1o2NDSk3/zmNxl2hH539OhRvfDCC9q8eXPWreRa43SIl19+\nWW984xuZVwsefvhhve1tb1O9Xs+6lVSsubDdzS3e16qlZrZjxw5t2bJFO3bs0I4dO/TDH/5Qjz/+\nuLZv355Bl/my0swk6Qc/+IEcx9HrXve61W4vl1qZGYB8qNfr2rNnj975znf2xR+wmWTbtm6++WbV\najXde++9+t3vfqdNmzZl3VZuNf6O4rTTTtOvfvWrrNtJxZoL20uF6RdffFHHjh3TV7/6VUknbhV6\n2223zbvF+1rV6geQCy64QHfddRdhWyvP7IknntChQ4d0/fXXr1JH+ccH3e6sX79ex48fn/3vyclJ\nzguFEVEUac+ePXr961+vV7/61Vm30zNKpZJ+7/d+T//zP/9D2F7Gc889p6efflqHDh1SGIaq1+va\nt2+fdu3alXVrHVtzYXsprdziHYu99NJLs+fSPvXUU9q4cWPGHeXfoUOH9Nhjj+nGG2+U67IJIh2b\nN2/Wyy+/rGPHjmlwcFA/+9nPdOWVV2bdVu5xQa72PfjggxodHeUqJC2YmZmR4zgqlUoKgkC/+MUv\nuErQCi677DJddtllkqRnn31Wjz32WE8HbYmwvSx2wit79NFH9dJLL8myLA0PD+vyyy/PuqXce+ih\nhxRFke644w5JJ/5Ikrkt7+c//7keeughVSoV3X333Tr11FN17bXXZt1Wrti2rXe961268847lSSJ\nLrzwQo2OjmbdVq498MADevbZZ1WtVnXLLbdo+/btuvDCC7NuK9eee+45/fSnP9WmTZt06623Sjpx\nqte5556bcWf5ND09rf379ytJEiVJovPPP58rdq1BXGcbAAAAMIRL/wEAAACGELYBAAAAQwjbAAAA\ngCGEbQAAAMAQwjYAAABgCGEbAAAAMISwDQAAABhC2AYAAAAMIWwDAAAAhhC2AQAAAEMI2wAAAIAh\nhG0AAADAEMI2AAAAYAhhGwAAADCEsA0AAAAYQtgGAAAADCFsAwAAAIYQtgEAAABDCNsAAACAIYRt\nAAAAwBDCNgAAAGAIYRsAesQvf/lLbdiwQf/1X/8lSTp8+LA2bdqkH/zgBxl3BgBYCmEbAHrE2Wef\nrS984Qu69tprVa1WdeONN+rGG2/UW97ylqxbAwAswUqSJMm6CQBA63bu3Klf/vKXsm1b//Ef/yHP\n87JuCQCwBI5sA0CP+bM/+zM9+eST+vM//3OCNgDkHEe2AaCHzMzM6PWvf70uvfRSPfTQQ/rpT3+q\n4eHhrNsCACyBsA0APeT973+/qtWq7r77bn3wgx/UsWPHdN9992XdFgBgCZxGAgA9Ynx8XI888oi+\n8pWvSJJuueUWPfHEE7rnnnsy7gwAsBSObOP/a8eOaQAAAAAE9W9tCj9I4QQAYOJsAwDARGwDAMBE\nbAMAwERsAwDARGwDAMBEbAMAwERsAwDARGwDAMBEbAMAwCRi/ZuCspfRvwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f538610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<ggplot: (284506149)>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ggplot(df, aes(x='x', y='y', fill='w')) + geom_tile()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nuJ7leV5SNjMzuQ8y/bPkcR2T8r2e5XFm/fZH5vl6xTNWKpU0NTWlIAiybmWecrlsPIC1y/M8DQ8P\na2ZmJnfzkpjZcprNJY/zkszNLI2rkSw3syzfKPKynjWTx/Usz/OS8jmzbqzGwYQ8zivP61keZ9Zr\nlxdeCaeRAAAAAIYQtgEAAABDCNsAAACAIYRtAAAAwBDCNgAAAGAIYRsAAAAwhLANAAAAGMJ1toGc\n8X1f4+PjxmoXCgUjtU2I43j2XxrXxk7TUv30280YsPaY2gf12v4HSAthG8gZk29GvfxGl2bYtiwr\nlTtIEqzRj1baT3iep9HRUU1MTLR1g5Ze3v8A3eA0EgAAAMAQwjYAAABgCGEbAAAAMISwDQAAABhC\n2AYAAAAMIWwDAAAAhhC2AQAAAEMI2wAAAIAhhG0AAADAEMI2AAAAYAhhGwAAADCEsA0AAAAY4mbd\ngGmHDh3St7/9bSVJoosuukiXXHJJ1i31tCRJJElxHM/+azzWjUYdy7K6riVJYRgqiiJJkmVZsu30\nP1cGQTD7PVoRRZFmZmZUq9UUBMGSy9m2Lc/z0mixqbRmvBoqlYoOHz6cel3f91UsFlOvCwDAQn0d\ntuM41r/+67/q+uuv1/r163X77bdry5YtGh0dzbq1nrYwXOcxbDc+CEgyErSlE+G5Vqu1tXy9Xl8x\nbBeLRbmumU2zl4K2JBUKBe3cuTP1ut/61rdSrwkAQDN9HbZ/85vfaMOGDRoeHpYknX/++Xr66acJ\n20CPsCwrlQ9zzeoCALAa+vqc7ampKQ0NDc3+99DQkCYnJzPsCAAAAGtJy0e2P/axj+n666/XG97w\nBpP9rJrJyUlNT0/Pe2xwcNDYr++74TiO0XN429E4NaMxp7TmZdu24jhO7Yij4zizvdm2beR1jaKo\nrXO2HceZ979L8TzP6Ovd7LSaPK1jcy13uk23uv158zqztLfNNOVxZnmel8TM2pXHeUnMrF15nFM3\nWv5poijSO97xDo2Ojup973uf3vve9+r000832VvX1q9fr+PHj8/+9+Tk5OyR7oMHD+rAgQPzlt+2\nbZu2b9++qj32mkbYbhgZGUmlbhAESpLEyPnVlmUZ2ZHMzMyoXq+3/bzGaU1L8TxPAwMDnba1IlPn\nsJtg4o8jG/r9dLK0ts21gnm1j5m1j5mtTS2H7S996Uv6u7/7Oz300EO666679NnPflZvetObdN11\n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\n0vDw8KIrkQwNDWloaGjR8/J4K1XXdXPXU0MYhrnsjZk1/75L7eRd1+34DSAMQ0VRZOTIcyP4mAja\n3dZc7tQWE0de4zhua71pZT2LokhxHBuZbxRFi75/GtvlcutxGnXTXo9Nh+0s93N53P/ned8vMbO1\nqm/D9nve856sWwAAAMAa17eX/gMAAACyZiW9dCLkKsjjaSTlclnVajXrNubxPE+jo6O5nJc0f2Ym\nV/F2fuXc6sxM9bvc6R7dnrMtnfiL9rTZtm3k1/BhGBqpOzU1pXq9nvqpCOvWrWu537nfe6V1aWZm\nRpVKxcgpQAMDA4ses22761NskiRJ9Rxzz/M0NDSkl156SXEcp/4Hko7jpH4eeEMQBEb+GNf3fSM9\nm6o7Vx7fL6V8v2fmcWaNefWLvj2NBJjLRIA1eXUMU/26rtu070Kh0PEfnVmWpTiOjfyRneu62r17\nd+p19+7d23W/zd6gyuWyPvrRj3ZVt5kvf/nLev/739/yOtdqqP2bv/kbffGLXzSyLn/605/W5z//\n+Y76Ws5HP/rRVLePMAxVLpdVr9flum7q63G9Xle1Wu34D4hLpZJqtVrTr5m6XFuhUNDY2FjqdcfH\nx1OvCfQCTiMBAAAADCFsAwAAAIYQtgEAAABDCNsAAACAIYRtAAAAwBDCNgAAAGAIYRsAAAAwhLAN\nAAAAGELYBgAAAAwhbAMAAACGELYBAAAAQwjbAAAAgCGEbQAAAMAQK0mSJOsm8mRiYkJBEGTdxjzl\nclnVajXrNubxPE+jo6O5nJc0f2YmV3HLslpettWZmerX9315npd63TiO5fu+isVi6rXDMDTS88zM\nTFuvXTPFYlH1en3eY5ZlybbTP4aRJIkcx2l5ecuyWlqParWasfUtSRLFcdxRX8spFApdPX8pjuO0\nNeNWRVGkIAhUKpU6en6pVFKtVmv6Ndd1jaxvQRAYmbPv+8Zev4Y8vl9K+X7PzOPMGvPqF27WDQCm\ndRuqVpupfovFosbGxozUHh8fN1K3UCho06ZNRt6gpqamunp+EASLQlDjw8Hg4GBXtReq1WotBxXX\ndbVhwwa99NJLCsNw2WV939edd94p103/reDKK69c9Abe7ANKu8477zzt2rWrqxrN7N27V7t37069\nriTt27ev41BcKpWW/IBi6oPSSh9wOw2OpoM2kFecRgIAAAAYQtgGAAAADCFsAwAAAIYQtgEAAABD\nCNsAAACAIYRtAAAAwBAu/TdHrVaT53lGLoPVDdu2VS6Xs25jHsuyVKlUcjkviZk1Y/o6qibmnSSJ\nkZn5vt/xdY8bbNteVCMIAnme13XthZIkkWVZLV3L3LIsVavVlmYWhqGx60s367fVn6HfWJbV8fax\n3L4sjmMjlwpNkmTZSxVmvS9bTh73/RIza1evXbJ3Jfl6xTNWKpU0NTXFBedb4HmehoeHNTMzk7t5\nScwsCybm7TiORkZGUp+Z7/tL3iikVc1uNhKGoeI4Tv1GPPV6Xb7vt3RdZdd1NTQ0pEqlsuJ1tuM4\nVhRFxgLbwmtqp3Gd7V6UJEnH28dy+7KsbtiV531ZHvf9EjNrl4mbmWWJ00gAAAAAQwjbAAAAgCGE\nbQAAAMAQwjYAAABgCGEbAAAAMISrkQBrhO/7Gh8fN1a7UCikXjdJEoVhOHuVjzQNDAx09XzLshbV\nsG3b2CWr4jhuaQZxHKtarba0fLlc1o033phWi/NEUbToahmO43Q9H9/3tW/fvq5qLGRZlpG60onL\nQU5NTXW8fcRxvOQVXGzbNrLdBUFgpK5k7goq/XapOPQXwjawRiz35tntpZ9MvTFLJwKFbduKoii1\nmuvWrdNVV12VWr2Ge+65R+9973tTr/vKV75SH/nIR1a8lJ904tJ/pVKppUv/nXHGGdq1a1dabc5z\n22236emnn573WKFQkO/7XdUtlUoaHR3tqsZcnudp48aNOnLkiMIwXPb60p2I43j2A2Onz1/qMpUb\nNmzQ2NhYN+01ZepDuclLFTauRQ/kEaeRAAAAAIYQtgEAAABDCNsAAACAIYRtAAAAwBDCNgAAAGAI\nYRsAAAAwhLANAAAAGELYBgAAAAwhbAMAAACGELYBAAAAQwjbAAAAgCGEbQAAAMAQwjYAAABgiJt1\nAwCwFMuymv7/bgVBoPvvv7+rGpZlKUmSeY+FYah77723q7rN1Ot11Wo1ue7Ku2zP83TSSSdJOvFz\nLsf3fe3bty+VHheamprShRdeOO8x13UVhmFXdcvlcqrrgvR/61badaUTP/O6des6fn6xWJRtNz8u\nVq/XNT4+3nHtpfi+r0KhkHrdZttMmrWBvOr7sP3YY4/pkUce0Sc/+cmudngAVp9t23IcR47jKI7j\n1OoWi8Wua5TLZVWr1XmPOY7Tdd1mXNfVwMBAS8t6nqfR0VFJK4dtkxqBf65mM8taY/1Kex1r8DxP\nnud1/Pxyubxk2DbFRNBuIBRjLerr00iOHz+uX/ziFxoeHs66FQAAAKxBfR22H374Yb397W/Pug0A\nAACsUX0btp966ikNDQ3plFNOyboVAAAArFE9fc72HXfcoenp6UWPX3rppfr3f/93XXfddUs+d3Jy\nctFzBwcHW/oDpNXmOE5X5/yZ0JhTHuclMbN25XFeEjPrBDNrT57nJTGzduVxXhIza1ce59QNKzH1\np8EZevHFF3XHHXfMrjyTk5Nav369brrpJg0ODkqSvve97+nAgQPznnfmmWdq9+7dGhoaWvWee83k\n5KQOHjyorVu3Mq8WMbP2MbP2MbP2MK/2MbP2MbP29Nu8+uujw//vlFNO0V/91V/N/vf/+3//Tx/8\n4AdVLpdnH9u6dau2bNky+98TExPav3+/pqen++KFNW16eloHDhzQli1bmFeLmFn7mFn7mFl7mFf7\nmFn7mFl7+m1efRm2m1l4AH9oaKgvXkAAAADk15oI2x/96EezbgEAAABrUN9ejQQAAADImvPpT3/6\n01k3kQdJkqhQKOiss85K5e5y/Y55tY+ZtY+ZtY+ZtYd5tY+ZtY+Ztaff5tWXVyPpFrd4b913v/td\nPf3007IsSwMDA9q5c6fWr1+fdVu59sgjj+iZZ56R4zg6+eST9e53v1ulUinrtnLtySef1Pe//30d\nOXJEN910k17xildk3VIuHTp0SN/+9reVJIkuuugiXXLJJVm3lGsPPvignnnmGQ0MDOjDH/5w1u30\nhOPHj2v//v2amZmRZVm66KKLdPHFF2fdVm6FYahvfvObiqJIcRzrta99rd761rdm3VZPiONYt99+\nu4aGhnTNNddk3U5XOLK9wPHjx/WjH/1ISZJo69atubv2ZN684hWv0MUXX6w/+IM/UK1W03//93/r\nvPPOy7qt3Hv729+uN77xjfrtb3+rX//61zr77LOzbinXbNvWBRdcoBdffFHnnHMOH+iaiONYd911\nl6677jpdcskleuihh3TWWWdpYGAg69Zyq1wu68ILL9RTTz2lP/zDP8y6nZ4QBIHOOOMMXXrppXrd\n616nf/mXf9HZZ5/NeraExr7rTW96k7Zu3apHH31Up5xyChdoaMGPfvQjxXGsKIp0wQUXZN1OVzhn\newFu8d6eub/e8X1flmVl2E1vOOecc2TbJza9008/XZOTkxl3lH8bN27Uhg0bsm4j137zm99ow4YN\nGh4eluM4Ov/88/X0009n3VaunXnmmfMuCYuVrV+/XqeddpqkE/v/jRs3ampqKuOu8q1QKEg6cZQ7\njiXjtUsAAASOSURBVGPeJ1tw/PhxHTp0SBdddFHWraRiTVyNpFXc4r0z3/nOd/TjH/9YpVJJN9xw\nQ9bt9JQnnnhC559/ftZtoA9MTU3NO1o2NDSk3/zmNxl2hH539OhRvfDCC9q8eXPWreRa43SIl19+\nWW984xuZVwsefvhhve1tb1O9Xs+6lVSsubDdzS3e16qlZrZjxw5t2bJFO3bs0I4dO/TDH/5Qjz/+\nuLZv355Bl/my0swk6Qc/+IEcx9HrXve61W4vl1qZGYB8qNfr2rNnj975znf2xR+wmWTbtm6++WbV\najXde++9+t3vfqdNmzZl3VZuNf6O4rTTTtOvfvWrrNtJxZoL20uF6RdffFHHjh3TV7/6VUknbhV6\n2223zbvF+1rV6geQCy64QHfddRdhWyvP7IknntChQ4d0/fXXr1JH+ccH3e6sX79ex48fn/3vyclJ\nzguFEVEUac+ePXr961+vV7/61Vm30zNKpZJ+7/d+T//zP/9D2F7Gc889p6efflqHDh1SGIaq1+va\nt2+fdu3alXVrHVtzYXsprdziHYu99NJLs+fSPvXUU9q4cWPGHeXfoUOH9Nhjj+nGG2+U67IJIh2b\nN2/Wyy+/rGPHjmlwcFA/+9nPdOWVV2bdVu5xQa72PfjggxodHeUqJC2YmZmR4zgqlUoKgkC/+MUv\nuErQCi677DJddtllkqRnn31Wjz32WE8HbYmwvSx2wit79NFH9dJLL8myLA0PD+vyyy/PuqXce+ih\nhxRFke644w5JJ/5Ikrkt7+c//7keeughVSoV3X333Tr11FN17bXXZt1Wrti2rXe961268847lSSJ\nLrzwQo2OjmbdVq498MADevbZZ1WtVnXLLbdo+/btuvDCC7NuK9eee+45/fSnP9WmTZt06623Sjpx\nqte5556bcWf5ND09rf379ytJEiVJovPPP58rdq1BXGcbAAAAMIRL/wEAAACGELYBAAAAQwjbAAAA\ngCGEbQAAAMAQwjYAAABgCGEbAAAAMISwDQAAABhC2AYAAAAMIWwDAAAAhhC2AQAAAEMI2wAAAIAh\nhG0AAADAEMI2AAAAYAhhGwAAADCEsA0AAAAYQtgGAAAADCFsAwAAAIYQtgEAAABDCNsAAACAIYRt\nAAAAwBDCNgAAAGAIYRsAesQvf/lLbdiwQf/1X/8lSTp8+LA2bdqkH/zgBxl3BgBYCmEbAHrE2Wef\nrS984Qu69tprVa1WdeONN+rGG2/UW97ylqxbAwAswUqSJMm6CQBA63bu3Klf/vKXsm1b//Ef/yHP\n87JuCQCwBI5sA0CP+bM/+zM9+eST+vM//3OCNgDkHEe2AaCHzMzM6PWvf70uvfRSPfTQQ/rpT3+q\n4eHhrNsCACyBsA0APeT973+/qtWq7r77bn3wgx/UsWPHdN9992XdFgBgCZxGAgA9Ynx8XI888oi+\n8pWvSJJuueUWPfHEE7rnnnsy7gwAsBSObOP/a8eOaQAAAAAE9W9tCj9I4QQAYOJsAwDARGwDAMBE\nbAMAwERsAwDARGwDAMBEbAMAwERsAwDARGwDAMBEbAMAwCRi/ZuCspfRvwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110f1c910>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<ggplot: (285986533)>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ggplot(df, aes(x='x', y='y', fill='w')) + geom_bin2d()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nt9MuZV/lcnl9ER11QRBoampKtVotE72V0ulvo9FQo9Ho+35BEKharaper+/b306nI8k+qHietz7X\nTpLobxyojruSAAAZKklEQVTHA92/F81mU1EUqVwua21tzWz/bbfbarVaiY1XKBS2jec4jsIwTHSe\nreI4Vrvd7nnbBkGgyclJnTlzpq/eOo4j103njdmk14Zms2m2X/m+r8nJSbVaLcVxbB5g4jgeuDcc\n22xlpb9BEKRdQqL4GAkAAABghLANAAAAGCFsAwAAAEYI2wAAAIARwjYAAABghLANAAAAGCFsAwAA\nAEYI2wAAAIARwjYAAABghLANAAAAGCFsAwAAAEYI2wAAAIARwjYAAABghLANAAAAGCFsAwAAAEYI\n2wAAAIARwjYAAABghLANAAAAGPHTLsDK448/rm9+85s6c+aM7rrrLr30pS9NuyQAAAAcMrk9s33+\n+efrPe95jy699NK0SwEAAMAhldsz2zMzM2mXAAAAgEMut2e2AQAAgLRl+sz2iRMntLq6uu3nx48f\n19zc3J73XV5e3nbfSqUi389GSzzPUxAEaZfRk25Ps9JbKZ3++r5/oDk9z9v03704jnPgefqtaa85\nkuhvFEVyHGegMXqZIwxDSb3196A8z0t0fNd1t40Xx7Fc1zV9HsZx3Ne2HWRtsNwe+82b5PMniiLF\ncZzYeBtt7Kv1c6U7x6C94dhmKyv9zVJPe5HpR3Pbbbcd+L6nTp3SyZMnN/3s6NGjOnbs2KBlYRfT\n09NplzDSCoWCisXige8/OTm5723a7baKxWJPtx2E53kqFAqmcwwjbK+tranVakmSpqamTOeyHr/Z\nbKpcLqtarZrNEUWRxsfH+/4YX7+P3XGc1MJ20tbW1tZf0FkZRtDump2dHdpco4JjG/bjxFYvqUfE\nP/3TP+nNb37ztm8j2e3MdqfTMV/4klAsFtVsNtMuoye+72t6elqLi4uZ6K2UTn8bjYba7Xbf9/M8\nT9VqVcvLy+p0Onvetl6vq91umwfhUqlkfvYkDMOhzNFqtXTxxRdraWlp3/4eVK1WU6PRSGy8IAi2\n7UutVkv1et00pBYKBcVx3PP+1X2nJQzDvs7ulkqloQUc1938acuk14YwDM32K8/zNDk5qeeff16+\n75uG7jiO1W63NTY2NtA4+/XXcZxt2yQtHNvsdHubF5k+s72XH/3oR3rooYe0tramz3zmM7rgggt0\n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\nx3TllVemXQawq5WVlU1nqqrVqp599tkUKwL6t7i4qF/84he66KKL0i4lV6Io0qc+9Sm9+OKLev3r\nX5/5/h66sD3IJd6xv936e/z4cc3Nzen48eM6fvy4vvOd7+jRRx/VsWPHUqgyu/brryR961vfkud5\neu1rXzvs8jKtl94CQFez2dT999+vt771rbn4R3yjxHVd3X333Wo0Grrvvvv0wgsv6Lzzzku7rAM7\ndGF7tzD9/PPP69y5c/q7v/s7Sb+8VOjf//3fb7rEO/bX64uVq666Svfeey9hu0/79fexxx7T6dOn\ndfvttw+povzghfZwTUxMaGlpaf3vy8vLmf5MJg6XTqej+++/X6973ev0qle9Ku1ycqtUKullL3uZ\nfvzjHxO286CXS7xjMGfPnl3/3OsTTzyhmZmZlCvKl9OnT+uRRx7RnXfeKd/nqY3RdtFFF+nFF1/U\nuXPnVKlU9MMf/lC33HJL2mXlCl82ZufBBx/U7Ows30JioFaryfM8lUoltdttPf3005n/piK++m8X\nH/vYx/TBD36Qr/5L0Oc+9zmdPXtWjuNoampKN954I9/qkKCPf/zj6nQ66y8QL774Yt14440pV5UP\nP/rRj/TQQw9pbW1NpVJJF1xwgW699da0y8q8jV/9d/XVV+s3fuM30i4pN77whS/opz/9qer1usbH\nx3Xs2DFdffXVaZeVC88884zuuecenXfeeev/cO/48eO64oorUq4sH55//nk98MADiuNYcRzryiuv\n1HXXXZd2WQMhbAMAAABG+Oo/AAAAwAhhGwAAADBC2AYAAACMELYBAAAAI4RtAAAAwAhhGwAAADBC\n2AYAAACMELYBAAAAI4RtAAAAwAhhGwAAADBC2AYAAACMELYBAAAAI4RtAAAAwAhhGwAAADBC2AYA\nAACMELYBAAAAI4RtAAAAwAhhGwAAADBC2AYAAACMELYBAAAAI4RtAAAAwAhhGwAy4ic/+YmOHDmi\n733ve5Kk5557Tuedd56+9a1vpVwZAGA3hG0AyIiXv/zl+uu//mvdeuutqtfruvPOO3XnnXfquuuu\nS7s0AMAunDiO47SLAAD07qabbtJPfvITua6r//qv/1IQBGmXBADYBWe2ASBjPvCBD+jxxx/X7//+\n7xO0AWDEcWYbADKkVqvpda97na6//no99NBD+sEPfqCpqam0ywIA7IKwDQAZ8v73v1/1el2f+cxn\n9KEPfUjnzp3T5z73ubTLAgDsgo+RAEBGfPnLX9bDDz+sT3ziE5Kkj3zkI3rsscf02c9+NuXKAAC7\n4cw2AAAAYIQz2wAAAIARwjYAAABghLANAAAAGCFsAwAAAEYI2wAAAIARwjYAAABghLANAAAAGCFs\nAwAAAEYI2wAAAICR/w/yvw9AgmfdVwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115839a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<ggplot: (290980241)>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ggplot(df, aes(x='x', y='y', fill='w')) + geom_tile(ybins=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nyspL/m5sbGzA0xxVFMWxf7nodrtZzQO/StmGzFSr1YEfrRoZGcmyaNTr9fjCF76Q5RHHXo40n663\nvvWt8Yleua0qAAAQCUlEQVRPfGLdZaJSqQxtZn/xF38R1Wq1TxMdvb/VarW+Xmc/VavVE86W68zA\nWsr2r1heXo56vR61Wl6xVCqVGB8fL3uMNYqiiMXFxSzzitjYmTWbzYEXpRzziohYXFzM+ojVoOda\n7/qGPbN+PhktiiIajUa2hbtSqZzw9o6MjJRyv81x/9/tdqNSqWS7L8sxs1U5Zpbr/uvlyusvXrKx\nsbE4cuRIdi+nj4+Px9LSUtljrFGv12Nqauqk5xOWaSNn1mq1Bn6UOce8VhVFMbRHaXu13vUN85Ht\niDjhaRUvR7VajYmJiVhaWsry1Z2TnUaysrJSyv021/1/URTZ7styzSwiz/1/vV4ve4S+8mkkAACQ\niLINAACJKNsAAJCIsg0AAIko2wAAkIiyDQAAiSjbAACQiLINAACJKNsAAJCIsg0AAIko2wAAkIiy\nDQAAiSjbAACQiLINAACJKNsAAJCIsg0AAIko2wAAkIiyDQAAiSjbAACQiLINAACJKNsAAJBIrewB\nUvna174WTz31VBRFEVu3bo1rrrkmtm3bVvZYAABsIkNbtn/91389rrzyyoiIePTRR2Pfvn1x9dVX\nlzwVAACbydCeRjI6Onrsv1dWVqIoihKnAQBgMxraI9sREV/96lfjO9/5ToyNjcVNN91U9jgAAGwy\nG7ps33HHHTE/P3/cz/fu3Rs7d+6MvXv3xt69e+Nb3/pWPProo7Fnz55jy8zNzR132YmJiajV8ouk\nWq1GvV4ve4w1VnPKMa+IjZ9ZpTLYF51yzCvi6KtSERFFUUS32y15mo1h9VW8Yc6sWq32/br6eZ39\nVK1WTzhbWffbHPf/3W43KpVKtvuyHDNblWNmOeZ0Ojb0rbnhhhvWtdwll1wSd95555qyvX///ti3\nb9+a5Xbv3r1mGU5tenq67BE2nFNl1mw2o91uD2iaX8rxDcQ/+9nPIuJocczxVLBBz9TLk7Bhzawo\nipiamurTNL+U4/a/asuWLS/5823btsXMzMyAp/mlnPb/q2U7dzllxuBs6LJ9Mi+88ELs2LEjIiKe\nfPLJOOOMM9b8fteuXbFz5841P5uYmIiDBw9Gq9Ua2JzrMTo6Go1Go+wx1qjVajE9PZ1lXhEbO7Nm\nsxmdTmeAk+WZV0QcOzLb7XazO0pbxpHj9WwXqyV7WDPrdrtx6NChPk109Kjetm3b4siRI6U8yT2V\nkZGRY6/w/F8TExMxOzs74Iny3P+vlu1c92U5ZrYqx8xW8xoWQ1u2H3744XjhhReOHQX5v59EMjk5\nGZOTk8ddbnZ2NprN5qDGXJdarZbdTKtarVaWs23kzFqt1sAf9HPOKyKyK40563a7Q30KSUQkuX+0\n2+0sy/bJ5mq326Xeb3Pb/xdFkf2+LLfMIvLf/w+DoS3bv/mbv1n2CAAAbHL5n+AEAAAblLINAACJ\nKNsAAJCIsg0AAIko2wAAkIiyDQAAiQztR//BRtVqtQb+VbUrKytZfl31yspKfPrTny57jNK12+34\n7Gc/u+5vXxzmz9men5+Ps88+u2/XV61WY+vWrTE2Npbl52zX6/UTfgby1q1bS5m50+nE//7v/0ZE\nPp+B3263Y3R0tOwx4CUp25CZsbGxeP/731/2GFm477774tprry17jNKdf/758clPfnJdX0c97N9U\nNzExEWNjY32a6Gher3jFK6LT6WSXV8TR/cHy8vJL/q5er8dv/MZvDHiiPN1zzz1ljwAn5DQSAABI\nRNkGAIBElG0AAEhE2QYAgESUbQAASETZBgCARJRtAABIRNkGAIBElG0AAEhE2QYAgESUbQAASETZ\nBgCARJRtAABIRNkGAIBElG0AAEhE2QYAgERqZQ+Qk+Xl5ajX61Gr5RVLpVKJ8fHxssdYoyiKWFxc\nzDKviI2d2dLS0gCnYqMoiiJGR0fXtdzy8nLUarWoVqsDmGz9KpXKum7DyYyMjMTY2FifJjqa19LS\nUtb7sn7e3mFVFEWMj49nue+PyPsxM8fMiqIoe4S+yusvXrKxsbE4cuRINJvNskdZY3x8PLsCVq/X\nY2pqKhYWFrLLK0JmDJ9utxuNRuOUy9Vqtdi2bVssLS1Fq9UawGTrNzo6uq7bcDL1er1P0xxVq9Vi\n+/btsbCwkF1eEUcfl5aXl1/ydxMTEwOeJl/dbjeWlpay3PdH5L3/zzGzft/Py+Y0EgAASETZBgCA\nRJRtAABIRNkGAIBElG0AAEhE2QYAgESUbQAASETZBgCARJRtAABIRNkGAIBElG0AAEhE2QYAgESU\nbQAASETZBgCARJRtAABIRNkGAIBElG0AAEhE2QYAgESUbQAASETZBgCARGplDwCstbKyEl/+8pfL\nHiMLjUYj7r333uh2u2WPcpyiKAY21/LyciwtLUW9Xj/lstVqNbZv3x5FUUS73R7AdOs3MjISKysr\np3UdlUolarX+PXTV6/UYGRmJsbGxaDabfbvefhkdHT3hdtZqteKee+4Z8ERHt/1Vudw3W61WVKvV\nsseAlzT0ZfuRRx6Jhx56KP7oj/4otmzZUvY4cEojIyMDX+f4+HgsLS0NfL2nMjExETMzMzE7O5td\nERpkZlu2bFn3/qter8fMzEwURbGpM1uver0eW7dujcXFxSzL2vj4eNkjHGd1G8vpfpnj3w5WDfVp\nJIcPH44f/vCHMTU1VfYoAABsQkNdth988MF497vfXfYYAABsUkNbtp988smYnJyMs846q+xRAADY\npDb0Odt33HFHzM/PH/fzK6+8Mv7jP/4jbrjhhhNedm5u7rjLTkxM9PWNN/1SrVbX9caoQVrNKce8\nImTWqxzzipDZyyGz3uScV4TMepVjXhEy61WOOZ2OopvLW4n76Lnnnos77rjj2MYzNzcX27Zti49+\n9KMxMTERERFf//rXY9++fWsud/7558cHP/jBmJycHPjMG83c3Fzs378/du3aJa91klnvZNY7mfVG\nXr2TWe9k1pthy2u4njr8f2eddVb84R/+4bH//+u//uv42Mc+tuZd3bt27YqdO3ce+//Z2dm49957\nY35+fij+sKnNz8/Hvn37YufOnfJaJ5n1Tma9k1lv5NU7mfVOZr0ZtryGsmy/lP97AH9ycnIo/oAA\nAORrU5Tt3/u93yt7BAAANqGh/TQSAAAoW/VP/uRP/qTsIXLQ7XZjZGQkLrjgghgdHS17nOzJq3cy\n653Meiez3sirdzLrncx6M2x5DeWnkZwuX/G+fl/72tfiqaeeiqIoYuvWrXHNNdfEtm3byh4raw89\n9FA8/fTTUa1W4xWveEV84AMfiLGxsbLHytoTTzwR3/jGN+L555+Pj370o/HKV76y7JGydODAgfjK\nV74S3W43LrvssrjiiivKHilr999/fzz99NOxdevW+PjHP172OBvC4cOH4957742FhYUoiiIuu+yy\nuPzyy8seK1utVituv/32aLfb0el04o1vfGO8853vLHusDaHT6cRtt90Wk5OT8eEPf7jscU6LI9v/\nx+HDh+Pb3/52dLvd2LVrV3afPZmbV77ylXH55ZfHr/3ar8Xy8nL893//d7zuda8re6zsvfvd7463\nve1t8bOf/Sz+53/+J17zmteUPVLWKpVKXHLJJfHcc8/FhRde6AndS+h0OnHnnXfGDTfcEFdccUU8\n8MADccEFF8TWrVvLHi1b4+Pjcemll8aTTz4Zb33rW8seZ0NoNpvxqle9Kq688sp405veFP/6r/8a\nr3nNa2xnJ7C673r7298eu3btiocffjjOOussH9CwDt/+9rej0+lEu92OSy65pOxxTotztv8PX/He\nm199eWdlZSWKoihxmo3hwgsvjErl6F3vvPPOi7m5uZInyt8ZZ5wRO3bsKHuMrD377LOxY8eOmJqa\nimq1GhdffHE89dRTZY+VtfPPP3/NR8Jyatu2bYtzzjknIo7u/88444w4cuRIyVPlbWRkJCKOHuXu\ndDoeJ9fh8OHDceDAgbjsssvKHqUvNsWnkayXr3h/eb761a/Gd77znRgbG4ubbrqp7HE2lMceeywu\nvvjissdgCBw5cmTN0bLJycl49tlnS5yIYXfw4MH4+c9/Hueee27Zo2Rt9XSIF198Md72trfJax0e\nfPDBeNe73hWNRqPsUfpi05Xt0/mK983qRJnt3bs3du7cGXv37o29e/fGt771rXj00Udjz549JUyZ\nl1NlFhHxzW9+M6rVarzpTW8a9HhZWk9mQB4ajUbcfffd8d73vnco3sCWUqVSiVtuuSWWl5fji1/8\nYvziF7+IM888s+yxsrX6PopzzjknfvzjH5c9Tl9surJ9ojL93HPPxaFDh+LTn/50RBz9qtC/+7u/\nW/MV75vVep+AXHLJJXHnnXcq23HqzB577LE4cOBA3HjjjQOaKH+e6J6ebdu2xeHDh4/9/9zcnPNC\nSaLdbsfdd98db37zm+P1r3992eNsGGNjY/HqV786fvCDHyjbJ/GTn/wknnrqqThw4EC0Wq1oNBrx\nL//yL3HttdeWPdrLtunK9oms5yveOd4LL7xw7FzaJ598Ms4444ySJ8rfgQMH4pFHHombb745ajV3\nQfrj3HPPjRdffDEOHToUExMT8b3vfS+uu+66ssfKng/k6t39998fMzMzPoVkHRYWFqJarcbY2Fg0\nm8344Q9/6FOCTuGqq66Kq666KiIinnnmmXjkkUc2dNGOULZPyk741B5++OF44YUXoiiKmJqaiquv\nvrrskbL3wAMPRLvdjjvuuCMijr5JUm4n9/3vfz8eeOCBWFxcjLvuuivOPvvsuP7668seKyuVSiXe\n9773xec///nodrtx6aWXxszMTNljZe1LX/pSPPPMM7G0tBS33npr7NmzJy699NKyx8raT37yk3j8\n8cfjzDPPjM985jMRcfRUr4suuqjkyfI0Pz8f9957b3S73eh2u3HxxRf7xK5NyOdsAwBAIj76DwAA\nElG2AQAgEWUbAAASUbYBACARZRsAABJRtgEAIBFlGwAAElG2AQAgEWUbAAASUbYBACARZRsAABJR\ntgEAIBFlGwAAElG2AQAgEWUbAAASUbYBACARZRsAABJRtgEAIBFlGwAAElG2AQAgEWUbAAASUbYB\nNogf/ehHsWPHjviv//qviIj46U9/GmeeeWZ885vfLHkyAE5E2QbYIF7zmtfEn//5n8f1118fS0tL\ncfPNN8fNN98c73jHO8oeDYATKLrdbrfsIQBYv2uuuSZ+9KMfRaVSif/8z/+Mer1e9kgAnIAj2wAb\nzO/8zu/EE088Eb/7u7+raANkzpFtgA1kYWEh3vzmN8eVV14ZDzzwQDz++OMxNTVV9lgAnICyDbCB\n/PZv/3YsLS3FXXfdFR/72Mfi0KFD8c///M9ljwXACTiNBGCD+PKXvxwPPfRQfOpTn4qIiFtvvTUe\ne+yx+Kd/+qeSJwPgRBzZBgCARBzZBgCARJRtAABIRNkGAIBElG0AAEhE2QYAgESUbQAASETZBgCA\nRJRtAABIRNkGAIBE/h8c0pxAmNsIgQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x116d09e90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<ggplot: (292341169)>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ggplot(df, aes(x='x', y='y', fill='w')) + geom_tile(xbins=8, ybins=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
